<?php

namespace App\Models;

use Exception;
use Illuminate\Database\Eloquent\Factories\HasFactory;


/**
 * 对外数据记录管理
 * Class ArticleModel
 * @package app\common\model
 */
class ExternalDataRecord extends BaseModel
{
    use HasFactory;

    const CREATED_AT = 'create_time';
    const UPDATED_AT = 'change_time';

    protected $table = 'external_data_record';


    /**
     * 列表
     * @param page int 当前页
     * @param limit int 分页大小
     * @param keywords string 搜索关键词(文章标题)
     * @param start_time int 开始时间
     * @param end_time int 结束时间
     */
    public function lists($keywords = null, $start_time = null, $end_time = null, $limit = 10)
    {
        $res = $this->select('id', 'title', 'create_time', 'change_time', 'intro')
            ->where(function ($query) use ($start_time, $end_time) {
                if ($start_time && $end_time) {
                    $query->whereBetween('add_time', [$start_time, $end_time]);
                }
            })->where(function ($query) use ($keywords) {
                if ($keywords) {
                    $query->where('title', 'like', "%$keywords%");   //使用 orWhere 就需要单独写一个 闭包，不使用则可以写在一起
                }
            })
            ->where('is_del', 1)
            ->orderByDesc('create_time')
            ->paginate($limit)
            ->toArray();
        return $res;
    }

    /**
     * 获取详情
     */
    public function detail($id)
    {
        $res = $this->select('id', 'title', 'create_time', 'change_time', 'content', 'intro')
            ->where('is_del', 1)
            ->find($id);
        return $res;
    }
}
